Skip to content

Conversation

@clark-evans
Copy link
Collaborator

@clark-evans clark-evans commented Dec 17, 2025

This PR implements the equation of time shortwave radiation correction in the RRTMG shortwave radiation parameterization. It is based on MPAS-Dev/MPAS-Model PR MPAS-Dev#1172 (MPAS-Dev#1172). This is expected to correct for the ~15-min insolation time biases seen within our real-time MPAS forecasts over the last 15 months.

I expect this to be answer changing, as it affects the incident shortwave radiation. The regression tests indicate small differences in forecast output at all forecast times (12, 24, 36, 48, 60 min).

Priority Reviewers

Copy link
Collaborator

@AndersJensen-NOAA AndersJensen-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Clark! To make this more general, I would write a function in mpas_atmphys_driver_radiation_sw.F (below the subroutine radconst), call the function after radconst is called and then add eot=eot to the sw procedure. That's my 5 cents (they don't make pennies anymore so I'm rounding).

@clark-evans
Copy link
Collaborator Author

Thanks Clark! To make this more general, I would write a function in mpas_atmphys_driver_radiation_sw.F (below the subroutine radconst), call the function after radconst is called and then add eot=eot to the sw procedure. That's my 5 cents (they don't make pennies anymore so I'm rounding).

I'm open to doing that, but I'd like to minimize changes relative to the upstream as much as possible to ease future code merges. Barring Wei re-doing her upstream PR, which I haven't gotten a sense is likely, I think WYSIWYG (or at least close to it). Happy to discuss more, though.

@dustinswales
Copy link
Collaborator

@clark-evans For MPAS in the UWM, we will be using RRTMG (or RRTMGP) from the CCPP, which is different than RRTMG in MPAS-Dev. So we will need to implement this change there if needed.

@dustinswales
Copy link
Collaborator

@clark-evans I checked the CCPP physics and this adjustment is already implemented.
So this is one thing that shouldn't be a "delta" when we switch from using MPAS-RRTMG in Standalone to CCPP-RRTMG in the UWM

! do not call rrtmg_sw is night-time:
dorrsw = .true.
xt24 = mod(xtime+radt*0.5,1440.)
da=6.2831853071795862*(julian-1.)/365.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can any of these magic number be parameterized?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably - the 6.283... value in line 10206 is 2*pi. I'm not sure on the others, though. I don't know the source for the form of this equation that @weiwangncar used -- Wei, perhaps you know?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@clark-evans The number comes from the contributor to WRF, Jose Arias. Will check with Jimy.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@clark-evans It looks like the PR in MPAS has some discussion on this.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for reminding me of that, @weiwangncar! @dustinswales -- what do you think? Maybe we implement 2*pi and add a comment above the equation pointing to the GML reference?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes that is 2*pi. This addition to the MPAS repo got delayed but will occur. WRF radiation has had it for a while already where we did not implement it directly in the radiation routine but in a separate cosine zenith angle routine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants